iT邦幫忙

DAY 6
7

深入淺出Android程式設計30天系列 第 6

什麼是Dalvik Virtual Machine?

  • 分享至 

  • xImage
  •  

什麼是Dalvik Virtual Machine?
在這個章節中,要來單獨討論什麼是Dalvik Virtual Machine,它是包含在Android Runtime中的元件,如圖5所示。


圖5

Dalvik Virtual Machine(Dalvik虛擬機器)是一種暫存器型態的虛擬機器。簡稱DVM,DVM在撰寫開發時就已經設想用最少的記憶體資源來執行,以及同時可執行多個VM為前提來開發的。

不過,上述的特性需要Linux作業系統的協助才能實現,例如程序問執行的控制、多執行緒的支援、記憶體管理等。事實上不僅Dalvik虛擬機器如此,Java虛擬機器也一樣有作業系統相依性,不同的作業系統需要不同的Java虛擬機器,而虛擬機器會針對其支援的作業系統再進行各項調整,以便能最佳化執行。

Dalvik虛擬機器有許多地方是參考Java虛擬機器設計,Dalvik虛擬機器所執行的中介碼並非是Java虛擬機器所執行的Java Bytecode,同時也不直接執行Java的類別檔(Java Class File),而是執行一種特有的檔案格式,稱為.dex。

Java的類別檔要先透過一套叫dx的編譯工具轉換成.dex檔後,才能讓Dalvik虛擬機器執行。而Delvik虛擬機器則改用Register Based的方式,變數皆存放於暫存器中,相較之下Delvik虛擬機器的指令就會少一點,速度也就會再加快一點。

有興趣的讀者,可以參考今年在台灣Google Developer Day 2008中,有關程本中先生所講述的Android:Dalvik VM Internals。網址:
http://sites.google.com/site/developerdaytaiwan/google-developer-day-2008-taiwan/android-dalvik-vm-internals

有關Android架構的部份就介紹到這個章節為止,下一個章節將要介紹有關如何下載安裝Android SDK、Eclipse、ADT套件等開發工具。


上一篇
Android架構說明(下)
下一篇
安裝Android SDK
系列文
深入淺出Android程式設計30天29
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言